cmake_minimum_required(VERSION 3.10)

#手动添加文件，${变量名称} 例如 ${SRC_LIST1}    类似于makefile中的=，就是赋值   关键字可以使用大小写，无影响
SET(SRC_LIST main.cc)

#生产执行文件,即将SRC_LIST1\这个文件编译为可执行文件test1
add_executable(output ${SRC_LIST})

# 添加头文件目录dir1 dir2
# include_directories("${CMAKE_CURRENT_SOURCE_DIR}/dir1")   两种写法是一样的，只是路径的选择不同
# include_directories(dir1)

# 新风格cmake，更完善?
target_include_directories(output PRIVATE 
    ${CMAKE_CURRENT_SOURCE_DIR}/dir1
    ${CMAKE_CURRENT_SOURCE_DIR}/dir2
)


#链接可执行文件和两个库文件
target_link_libraries(output PRIVATE dir1_shared dir2_shared)

#动态库需要设置运行路径（就是让这个程序可以找到动态库）
#-Wl表示将后面的参数传递给链接器，-rpath就是表示传递的路径  ORIGIN表示src目录，../lib就是上层目录中的lib
if(UNIX AND NOT APPLE)
    target_link_options(output PRIVATE "-Wl,-rpath,$ORIGIN/../lib")
endif()

#将可执行文件安装到bin目录
install(TARGETS output RUNTIME DESTINATION bin)


